#ifndef __COM_DEBUG_H__
#define __COM_DEBUG_H__

#include <string.h>


#define DEBUG


#ifdef DEBUG

#define _FILENAME (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__)
#define FILENAME (strrchr(_FILENAME, '/') ? strrchr(_FILENAME, '/') + 1 : _FILENAME)

// 如果定义了宏,表示进入调试模式,所有的debug语句都能输出
#define debug_printf(format, ...) printf("[%s : %d]" format, FILENAME, __LINE__, ##__VA_ARGS__)
#define debug_printfln(format, ...) printf("[%s : %d]" format "\r\n", FILENAME, __LINE__, ##__VA_ARGS__)
#else
// 如果没有定义宏,这表示进入生产模式,所有的debug语句不能输出
#define debug_printf(format, ...)
#define debug_printfln(format, ...)
#endif

#endif /* __COM_DEBUG_H__ */
